using System.ComponentModel;

namespace Models
{
    public class model_SearchCondition_PointCheck : INotifyPropertyChanged
    {
        #region 私有变量
        private string? _EquipmentName; //设备名称
        private string? _Operator; //操作员
        private DateTime? _CheckTime_Begin; //点检时间开始
        private DateTime? _CheckTime_End; //点检时间结束
        private string? _SeriesNo;  //序列号
        private string? _Result = "全部";    //点检结果
        #endregion
        #region 公共属性
        public string? EquipmentName
        {
            get => _EquipmentName; set { _EquipmentName = value; OnPropertyChanged(nameof(EquipmentName)); }
        }
        public string? Operator
        {
            get => _Operator; set { _Operator = value; OnPropertyChanged(nameof(Operator)); }
        }
        public DateTime? CheckTime_Begin
        {
            get => _CheckTime_Begin; set { _CheckTime_Begin = value; OnPropertyChanged(nameof(CheckTime_Begin)); }
        }
        public DateTime? CheckTime_End
        {
            get => _CheckTime_End; set { _CheckTime_End = value; OnPropertyChanged(nameof(CheckTime_End)); }
        }
        public string? SeriesNo
        {
            get => _SeriesNo; set { _SeriesNo = value; OnPropertyChanged(nameof(SeriesNo)); }
        }
        public string? Result
        {
            get => _Result; set { _Result = value; OnPropertyChanged(nameof(Result)); }
        }

        public event PropertyChangedEventHandler? PropertyChanged;
        protected virtual void OnPropertyChanged(string propertyName)
        {
            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
        }
        #endregion
    }
}
